No, Sigil has never rearranged the order of CSS, nor should it.
CSS rules have a hierarchy and the most recently applied style (the one at the bottom of the list) has priority over any others unless those others have a higher specificity. If Sigil rearranged that order it would be massively incorrect...
If you have been working with an alphabetized CSS sheet, it is because it was originally designed that way. IMO, you lose a lot of readability/editability/understandability (and maybe a few other abilities) when you have a straight up alphabetization rather than actual descriptive names.
Code:
style1 {}
style2 {}
style3 {}
style4 {}
VS.
.title {}
.underline {}
.firstpara {}
.newsection {}
Personally, I group my CSS into sections for better organization:
Spoiler:
Code:
@page {margin:0; orphans:0; widows:0}
html, body {height:100%; font-family:Verdana, Arial, sans-serif}
body {font-size:100%; margin:0; padding:0; font-weight:normal}
p {text-indent:1.2em; margin:0; line-height:1}
/* Headers */
h1, h2, h3, h4, h5, h6 {display:block; text-align:center; text-indent:0; margin:1em 0; page-break-after:avoid; font-style:normal; font-weight:bold; font-family:serif}
h1 {font-size:1.7em; margin-top:0; text-transform:uppercase}
h2 {font-size:1.4em; text-transform:uppercase}
h2.title {font-size:1.7em; margin-top:0; text-transform:uppercase}
h3 {font-size:1.4em; text-transform:uppercase}
h4 {font-size:1.1em; font-weight:normal; font-style:italic}
h5 {font-size:1.1em; font-style:italic}
h6 {font-size:1.1em}
h1 span, h2 span, h3 span {display:block; font-size:.8em; text-transform:none; font-variant:small-caps}
h3 img {display:block; margin:.25em auto 1em; text-align:center; text-indent:0; width:25%; max-width:1280px}
/* Title Page */
.auth, .stit1, .stit2, .subtit {text-align:center; text-indent:0; margin:0; font-weight:bold; font-size:1.1em; font-family:serif}
.subtit {margin:1em 2em; font-size:.8em}
.stit1 {margin-bottom:1em}
.stit2 {margin-top:2em; font-weight:normal; font-style:italic}
.auth {margin-top:1em; font-size:1.4em}
/* publishers */
.pub {margin-top:5em; text-indent:0; text-align:center; font-size:.7em; font-family:serif}
.pub img {display:block; text-indent:0; text-align:center; margin:0 auto}
/* logos */
#fb::before {display:inline-block; content:''; background-image:url('../Images/facebook.svg'); background-size:35px 35px; height:35px; width:35px}
#twit::before {display:inline-block; content:''; background-image:url('../Images/Twitter.svg'); background-size:35px 35px; height:35px; width:35px}
/* Chapter Header */
.ChNo, .ChTit, .ChDiv, .PtTit {text-indent:0; text-align:center; font-weight:bold}
/* .ChImg {line-height:4em; background-size:4em; background:url("../Images/z.jpg") no-repeat center} */
.PtTit {margin:1em auto 3em; font-size:1.25em}
.ChNo {margin:2em auto 1em; font-size:2em}
.ChTit {margin:2em auto; font-size:1.5em}
.ChDiv {margin:1.5em auto; font-size:.9em; word-spacing:.8em}
.ChDiv img {margin:0 auto; text-indent:0; text-align:center; width:20%; max-width:40px; min-width:25px}
/* Images */
img {max-height:100%; max-width:100%}
.image {margin:0; text-align:center; text-indent:0}
.fullimg {margin:0; padding:0; height:100%; width:100%}
.black {background-color:black}
.white {background-color:white}
/* Tables */
table {margin:0; border-collapse:collapse}
td {vertical-align:top; padding:5px}
thead {text-align:center; font-weight:bold}
tfoot {font-size:.8em}
tbody td {border:1px solid}
/* Definition Lists */
dt {font-weight:bold}
dd {margin:0 0 .5em 3em}
ol {margin:.5em; list-style-type:upper-roman}
ul {margin:.5em; list-style-type:none}
li {margin:0 0 .5em; text-align:left; text-indent:-1.5em; page-break-inside:avoid; padding-left:2em}
li span {display:block; margin:.5em 3em}
/* Styles for Defined tags */
hr {margin:2em 0; height:2px; width:75%; background-color:black; border-color:black}
hr.short {width:7%; max-width:45px}
sup, sub {vertical-align:0; position:relative; font-size:0.75em}
sup {bottom: 1ex}
sub {top: 0.8ex}
a {color:inherit; text-decoration:none}
strong, .B {font-weight:bold}
em, .I {font-style:italic}
em em {font-style:normal}
/* Font styles */
.strike {text-decoration:line-through} /* add color:red if you want red strike */
.strike span {color:black} /* span text if you want a different color */
.up {text-transform:uppercase}
.u {text-decoration:underline}
.sc {font-variant:small-caps}
/* Vertically centered on page */
div.v-ctr {height:100%; width:100%; display:table; position:fixed; padding:0; margin:0; text-indent:0}
div.v-ctr div {display:table-cell; vertical-align:middle; padding:0; margin:0}
/* Centered & Left-aligned text */
div.quote {margin:2em 0; float:left; position:relative; left:50%; clear:both}
div.quote p {display:block; text-indent:0; margin:0; font-size:.85em; text-align:left; position:relative; left:-50%; padding:0 2em; margin:0}
div.quote p.sig {margin:1em 0 0; text-align:right}
/* No Indent Paragraphs */
.ChDiv + p, blockquote + p, h3 + p, h2 + p, hr.short + p, .noind, .SecBrk, .SecBrk2 {text-indent:0}
.SecBrk {margin-top:2em}
/* First Para in lieu of Drop Caps */
p.first {text-indent:0; font-size:1em; line-height:1em; clear:both}
p.first::first-letter {font-family:serif; font-size:2em; font-weight:bold; float:left; margin:-.1em .2em -.1em .1em; line-height:1}
p.first::first-line {font-variant:small-caps; font-size:1.15em}
/* Misc style*/
.box {border:5px inset #000000; padding:12.5%; margin:12.5%; text-align:justify}
.rt {text-indent:0; text-align:right}
.lt {text-indent:0; text-align:left}
.ctr {text-indent:0; text-align:center}
.norm {font-style:normal; font-weight:normal}
.banner{margin-top:2em; margin-bottom:2em}
.ded {text-indent:0; margin:1em 15% 0; text-align:center; font-style:italic; font-size:.8em}
.epi {text-indent:0; margin:0 35% 0.5em; font-size:1.25em}
.time {text-indent:0;margin:1em; font-size:.8em}
.spc {margin-top:1em}
.sig {text-align:right; margin-top:1em}
/* Division section styles */
/* Default */
div {text-indent:0; margin:2em}
div.copy, div.ata {margin-top:0}
/* Custom */
div.ack p {margin:0 0 .5em; font-size:1.15em; text-align:left; text-indent:0}
div.ack p.sig {margin:1em 0 0; text-align:right}
div.copy p {margin:0 0 .75em; font-size:0.85em; text-align:center; text-indent:0}
div.copy div {margin:.5em auto;text-indent:0; text-align:center; width:20%; max-width:117px}
div.copy img {width:10%; max-width:50px}
/* Blockquote section styles */
/* Default */
blockquote {margin:2em; text-align:left; text-indent:0}
blockquote p {text-indent:0; margin:0 0 .75em; font-size:0.95em}
/* Custom */
blockquote.book p {text-align:justify}
blockquote.verse p {margin-bottom:.25em; font-style:italic}
In Sigil (and I think Calibre has a similar feature) you can be taken directly to the correct style by ctrl-click on the class in the code view. This assumes, of course, that the CSS file is correctly linked to the html file, and that there, in fact, IS a defined style...